package com.ow.dva.module.passingRecord.mapper;

import com.ow.dva.module.base.entity.param.DvaPage;
import com.ow.dva.module.base.mapper.BaseMapper;
import com.ow.dva.module.passingRecord.entity.PassingRecord;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 过车记录表 Mapper 接口
 * </p>
 *
 * @author YanZengBao
 * @since 2020-02-19
 * @version V1.0
 */
public interface PassingRecordMapper extends BaseMapper<PassingRecord> {

    /**
    * 分页获取过车记录表数据列表信息。
    * 创建时间：2020-02-19 YanZengBao
    * 修改时间：2020-02-19 YanZengBao 加注释
    * 修改时间：
    * @param page 分页参数
    * @param param 条件参数
    * @return 带分页的数据集
    */
    DvaPage<PassingRecord> page(DvaPage<PassingRecord> page, @Param("param") Map<String, Object> param);

    /**
     * 描述：根据车牌号和停车场id 和未出场状态查询最近的进场过车记录
     * 创建时间： 2020/1/14 YanZengBao
     * 修改时间： 2020/1/14 YanZengBao  加注释
     * 修改时间：
     */
    List<PassingRecord> selectByPlateNoAndParkIdAndUseStatus(@Param("param") Map param);

    List<PassingRecord> getTodayPassingRecords(String roadId);
    List<PassingRecord> getTodayByPark(String parkId);
    List<PassingRecord> weekDataByPark(String parkId);
    List<PassingRecord> getAllTodayPassingRecords();

    List<PassingRecord> matchPassRecord(String plate,String parkId);

    List<PassingRecord> getWeekRecordByPlate(String parkId, String plateNo);

    List<PassingRecord> getNewPassingRecord(List list);

    long countDayPassData(String parkId, Date nowTime);

    PassingRecord getNewPassRecordByPark(String parkId, int direction);
}
